package com.tac.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * @description 用户地址-实体
 * @author zhonghui
 * @date 2020-11-29 16:07:59
 */
@Data
@ApiModel
@EqualsAndHashCode(callSuper=false)
public class UserAddress  {



    /**
     * 默认标志
     */
    @ApiModelProperty(value = "默认标志 1是默认 0是非默认")
    private Integer defaultFlag;
    /**
     * 收货人
     */
    @NotBlank(message = "收货人不能为空")
    @ApiModelProperty(value = "收货人")
    private String receiveName;
    /**
     * 联系号码
     */
    @NotBlank(message = "联系号码不能为空")
    @ApiModelProperty(value = "联系号码")
    private String receivePhone;
    /**
     * 省份
     */
    @NotBlank(message = "省份不能为空")
    @ApiModelProperty(value = "省份")
    private String province;
    /**
     * 省份编码
     */
    @NotBlank(message = "省份编码不能为空")
    @ApiModelProperty(value = "省份编码")
    private String provinceCode;
    /**
     * 城市
     */
    @NotBlank(message = "城市不能为空")
    @ApiModelProperty(value = "城市")
    private String city;
    /**
     * 城市编码
     */
    @NotBlank(message = "城市编码不能为空")
    @ApiModelProperty(value = "城市编码")
    private String cityCode;
    /**
     * 区
     */
    @NotBlank(message = "区不能为空")
    @ApiModelProperty(value = "区")
    private String area;
    /**
     * 区编码
     */
    @NotBlank(message = "区编码不能为空")
    @ApiModelProperty(value = "区编码")
    private String areaCode;
    /**
     * 详细地址
     */
    @NotBlank(message = "详细地址不能为空")
    @ApiModelProperty(value = "详细地址")
    private String street;
    /**
     * 邮编
     */
    @ApiModelProperty(value = "邮编")
    private String postalCode;
    /**
     * 地址标签
     */
    @ApiModelProperty(value = "地址标签")
    private Integer addressLabel;
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private Integer id;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") //不加这个会发送给前端会变成数字 服务器的解决方法未知
    private Date createTime;
    /**
     * 更新时间
     */
    @JsonIgnore//使得返回的json不包含此属性
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**
     * 创建人编码
     */
    @JsonIgnore
    @ApiModelProperty(value = "创建人id")
    private Integer createUser;


}
